1. Field of the Invention
The present invention, for the use in semiconductor process/device simulation, relates to a mesh generation device and its method for generating meshes in the region of a semiconductor device to be processed, and particularly to a mesh generation device and its method for generating meshes having a boundary protective layer in the vicinity of the boundary of a semiconductor device.
2. Description of the Related Art
In analyzing the manufacturing process of a semiconductor by the use of a process simulator, or analyzing the electrical characteristic of a transistor by the use of a device simulator, it is necessary to solve the partial differential equations such as the diffusion equation of continuity and the Poisson equation in order to obtain an impurity distribution, current density, and the other physical quantity in a semiconductor device to be manufactured.
Since this kind of calculation cannot be solved by the partial differential equation, the calculation is performed by dividing the analysis region into smaller regions and making the partial differential equation discrete. As a discretization method of the partial differential equation, generally used is a method of generating triangular meshes having a superior configuration fit so as to divide the analysis region into smaller triangle regions, because the triangular mesh can represent a complicated configuration of a semiconductor accurately.
However, a large problem arises when this triangular mesh is used in the simulation of the MOSFET. This is why the same current flows parallel along the boundary Si--SiO.sub.2 in the MOSFET. This means that the current flows at the mesh edge on the boundary in the device simulation. In an arbitrarily formed triangular mesh, however, the cross section at the mesh edge on the boundary is too irregular to express the same current parallel along the boundary Si--SiO.sub.2, which causes a problem in that an accurate simulation cannot be performed.
In order to solve the problem, generating a local orthogonal mesh, in other words, a boundary protective layer, instead of a triangular mesh, is effective in making constant the cross section at the mesh edge on the boundary. A method of eliminating parasitic resistance caused by a mesh through the generation of the boundary protective layer, is disclosed in, for example, the article "A Triangular Mesh Generation Method Suitable for the Analysis of Complex MOS Device Structures" (written by Kumashiro/Yokota, NUPAD V, pp. 167-170), and Japanese Patent Publication Laid-Open (Kokai) No. Heisei 7-161962 "A Mesh Generation Method".
A mesh generation method of generating meshes having the boundary protective layer, according to the conventional technique, will be described below. FIG. 10 is a flow chart showing an operation for generating meshes having the boundary protective layer according to the conventional technique.
With reference to FIG. 10, a boundary protective layer is generated at first, which is formed by orthogonal meshes locally conformed to a boundary segment forming a boundary (Step 901). An example of the boundary protective layer generation is illustrated in FIG. 11 (A). Mesh points are located within the region distant from the generated boundary protective layer by at least a predetermined reference distance (Step 902). An example of the mesh point positioning is illustrated in FIG. 11 (B).
Next, mesh points are combined with each other, so as to generate triangular meshes (Step 903). An example of the triangular mesh generation is illustrated in FIG. 11 (C). In order to generate a triangular mesh, use is made of a method of selecting a mesh point so that a probable angle made by the branch and the mesh point may become maximum at the time of connecting the mesh point of the end points of a branch to be noted (hereinafter, referred to as a "notable branch") with a mesh point in the vicinity of the branch. This method is, hereafter, referred to as a "probable angle maximizing method", which is disclosed in Japanese Patent Publication Laid-Open (Kokai) No. Heisei 7-219977 "A Mesh Generation Method".
The "probable angle maximizing method" will be briefly described with reference to FIG. 13.
As illustrated in FIG. 13, when a segment A11-B11 is regarded as the notable branch, with four possible mesh points C11, D11, E11, F11 to be connected to the notable branch, each mesh point of C11, D11, E11, F11, and the mesh points A11 and B11 that are endpoints of the notable branch are connected temporarily so to select a mesh point so that its probable angle may be maximum.
The "probable angle" means .angle.A11C11B11, for example, with regard to the mesh point C11. Since the chord A11B11 is in common, if one selects a mesh point such that a radius of a circumscribed circle of a triangle (triangular mesh) formed by the chord A11B11 and the mesh point is a minimum, the "probable angle" becomes a maximum. Therefore, in the case of FIG. 13, the "probable angle" becomes maximum when the chord is connected to the mesh point C11. Since the mesh point with a minimum radius of the circumscribed circle is selected, none of the other mesh points is contained within .DELTA.A11B11C11. Therefore, the Delaunay division can be performed efficiently. The triangular meshes can be generated on the region to be processed in a spiral shape from the peripheral portion toward the inside of the region.
After generating the triangular meshes in the above way, a triangular mesh that destroys the boundary protective layer is searched out of the generated triangular meshes (Step 904). When there exists a triangular mesh that destroys the boundary protective layer, a mesh point within the region, of the triangular mesh points destroying the boundary protective layer, is projected on the boundary segment and the projected point is added as a new mesh point (Step 905). An example of the new mesh point addition is illustrated in FIG. 11 (D). Returning to Step 901, the process of Steps 901 to 905 will be performed repeatedly until no new projected point is generated.
When there exists no triangular mesh that destroys the boundary protective layer in Step 904, all the process of generating the meshes having the boundary protective layer is finished. An example of the meshes generated in the above way is illustrated in FIG. 12.
As mentioned above, it is possible to make constant the cross section of the boundary of the control volume in the normal direction by generating the meshes having the boundary protective layer in the region of the semiconductor device. Therefore, inversion layer current can be accurately calculated on the MOSFET having the boundary Si--SiO.sub.2 in any direction, without generating parasitic resistance caused by meshes.
The above conventional mesh generating method, however, has the following defects.
In the conventional mesh generating method, a search for a triangular mesh that destroys the boundary protective layer is made after the completion of generating the triangular meshes within the region. When some of the generated ones destroy the boundary protective layer, the generated triangular meshes are all destroyed, and the mesh generation is retried after the first step. If all the triangular generation is retried every time a triangular mesh destroying the boundary protective layer is detected, the other triangular meshes impossible to destroy the boundary protective layer, like the triangular meshes within the region, are also to be generated repeatedly, which causes unnecessary processing.
In the mesh generation processing, the time spent on the processing is increased according to the increase in the number of the mesh points. Therefore, the repetition of the above useless process wastes much time, thereby deteriorating the efficiency.